0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01) take two:

My Broadcom WiFi card is finally working with free software in gNewSense so I decided to make a post to explain how to make that happen for your card as well.

First you need to check your Broadcom WiFi card model: the OpenFWWF site says that 4306, 4311(rev1), 4318 and 4320 are tested and that they work. Not having one of those models is not a reason to try it, though.

Now, you need to install git-core, curl, bison and flex if they are not installed. Get b43-tools (http://git.bu3sch.de/git/b43-tools.git)and compile it.
After that’s done compiling (it should take 2 seconds or so), you need to download the firmware. Lastest firmware as of today is 5.2.
Extract the tar.gz and just “make”. When that’s done compiling (it also takes very little time) you’ll have 3 .fw files in your openfwwf directory. Those 3 files need to be copied to /lib/firmware/b43-open/ .

Then you need to install Linux-libre v2.6.30. A neatly packaged image can be found at my friend Ali Gündüz‘s Freedom Shoppe.

After that you need to pass an option to the b43 module. You do that by adding a line that says “options b43 qos=0” (without quotes) to the /etc/modprobe.d/options file. I also added b43 to /etc/modules but that might not be necessary.

Here’s a step by step copypastable list of all the commands for you (you may need to change the version number of the firmware or the kernel, depending on when you read this post; also make sure that WordPress is not using formatted quotation marks):

cd
sudo apt-get install git-core curl bison flex
git clone git://git.bu3sch.de/b43-tools.git
cd b43-tools/assembler
make
sudo make install
cd
wget http://www.ing.unibs.it/openfwwf/firmware/openfwwf-5.2.tar.gz
tar zxvf openfwwf-5.2.tar.gz
cd openfwwf-5.2
make
sudo mkdir /lib/firmware/b43-open
sudo cp *.fw /lib/firmware/b43-open/
cd
wget http://aligunduz.org/gNewSense/freedomshoppe/linux-image-2.6.30-libre-fshoppe1_i386.deb
sudo dpkg -i linux-image-2.6.30-libre-fshoppe1_i386.deb
sudo -i
echo “options b43 qos=0 nohwcrypt=1” >> /etc/modprobe.d/options
echo “b43” >> /etc/modules
logout

I restarted and booted with the 2.6.30 kernel and my card was working. dmesg confirmed that I was using the free firmware:

[ 8460.884239] b43-phy0: Loading OpenSource firmware version 410.31754 (Hardware crypto not supported)

I would’ve liked it to say “free software”, just like I would’ve liked the firmware to be called free and not open, but that’s extra.

Enjoy your WiFi with freedom!

EDIT: I updated the openfwwf version to 5.2
EDIT2: updated the git repo for b43-tools

11 Comments »

  1. Miguel said

    Not only he’s not dead….and he’s posting too!!! way to go my friend!!!

    BTW: Excellent news!! Wife’s computer has a broadcom card, I will try it and will let you know hot it works.

    PS: Why I don’t try it out first and then post into your blog is a big mystery of human nature

  2. Kenny Ossa said

    Leo! Muy bueno el Post, sólo dos cositas…
    1) Al principio usas el wget con openfwwf-5.2.tar.gz, luego se hace referencia a openfwwf-5.1.tar.gz

    2) Se debe usar comillas simples en:
    echo “options b43 qos=0″ >> /etc/modprobe.d/options
    echo “b43″ >> /etc/modules

    sino, se agregan las comillas dobles junto con el texto y probablemente nos de un warning al levantar el módulo, por ejemplo.

    Excelente, trabajo. Gracias!

  3. leorockway said

    @Kenny Ossa:

    Gracias, pensé que había cambiado todos los 5.1 por 5.2.

    Es perfectamente válido usar comillas dobles ahí, excepto que WordPress les pone estilo. Debería averiguar como cambiar eso.

  4. […] my misfortunes with the wifi card on #gnewsense on freenode. gnufs on #gnewsense pointed me to https://leorockway.wordpress.com/2009/07/04/0c00-0-network-controller-broadcom-corporation-bcm4311-80… .  There, I came to know about OpenFWWF , a project “that provides an open source firmware […]

  5. David Bailey said

    You are awesome. I followed the steps and my wifi is working.

    The fix on the gNS site kept giving me errors but you have fixed the problem.

    Lack of wifi support for b43 drivers was the reason I had to uninstall gNS 2.2.

  6. Hi I need to know if you can a wifi gnewsense bcm in 4312 in a Dell Inspiron 1545

  7. Spartic said

    openfwwf Makefile should include in $(BCMASM) line -d after —
    (it will tell you if you have errors on the assembler)

  8. Tenzin Dendup said

    Is it working for 4312 now??

  9. Update!!
    Broadcom releases a free driver, see this page.
    http://lwn.net/Articles/404248/

  10. vando said

    Nice! I’ve a Lenovo 3000 N200 with the same wifi chipset and now it works entirely with Software Libre (Parabola, of course).

RSS feed for comments on this post · TrackBack URI

Leave a comment